/**
 * == 语法：enum 枚举名 {key1, key2...} ==
 * 说明：枚举类型的属性默认值为索引值,根据需要可以重新修改
 * 作用：给变量当作类型和值使用
 * 场景：解决数字字面量类型可读性差，同时可以存值
 * 注意：枚举类型只能在.ts格式中使用
 */
// 后台返回的数据是数字，例如：gender= 1(男) 0 (女)
// 问题：代码的可读性差
type Gender = 0 | 1

const sex: Gender = 0
// 解决：使用枚举类型=》提高代码可读性
enum Gender2 {
  Girl = 1,
  Boy = 3
}

const sex2: Gender2 = Gender2.Boy // 等价于 const sex2: Gender2 = 1
console.log(sex, sex2)

// == 问诊挂号 ==
// 问诊类型：1找医生 2== 极速问诊 == 3开药问诊
export enum ConsultType {
  Doctor = 1,
  Fast,
  Medication
}
// 患病时间：1一周内2一月内3半年内4半年以上
export enum ConsultTime {
  Week = 1,
  Month,
  HalfYear,
  More
}

// == 问诊聊天室 ==
// 1. 消息类型
export enum MsgType {
  // 文字
  MsgText = 1,
  // 图片
  MsgImage = 4,
  // 患者
  CardPat = 21,
  // 处方
  CardPre = 22,
  // 未评价
  CardEvaForm = 23,
  // 已评价
  CardEva = 24,
  // 通用系统
  Notify = 31,
  // 温馨提示
  NotifyTip = 32,
  // 取消订单
  NotifyCancel = 33
}
// 2. 问诊订单状态
export enum OrderType {
  // ----------------问诊订单------------------
  // 待支付
  ConsultPay = 1,
  // 待接诊
  ConsultWait = 2,
  // 咨询中
  ConsultChat = 3,
  // 已完成
  ConsultComplete = 4,
  // 已取消
  ConsultCancel = 5,
  // ----------------药品订单------------------
  // 待支付
  MedicinePay = 10,
  // 待发货
  MedicineSend = 11,
  // 待收货
  MedicineTake = 12,
  // 已完成
  MedicineComplete = 13,
  // 已取消
  MedicineCancel = 14
}
// 3. 处方状态
export enum PrescriptionStatus {
  // 未支付
  NotPayment = 1,
  // 已支付
  Payment = 2,
  // 无效
  Invalid = 3
}
